Patterns of Aspect-Oriented Design
نویسندگان
چکیده
Aspect-oriented programming languages are becoming commonplace, and programmers are accumulating experience in building and maintaining aspect-oriented systems. This paper addresses how the use of these languages affects program design: how aspect-oriented languages change the design space, which designs should be emulated and which avoided, and the strengths and weaknesses of particular kinds of design. We identify five patterns of aspect-oriented design: Spectator, Regulator, Patch, Extension, and Heterarchical Design. For each pattern, we describe the problem it solves, show how aspect-oriented language features are used in the pattern, give characteristic examples of the pattern’s use, and assess its benefits and liabilities. Our patterns provide the beginnings of a taxonomy of aspect-oriented design. We believe that they should help programmers to understand and evaluate existing aspect-oriented designs, to improve new designs, to make better use of the aspect-oriented features of new programming languages, and also guide those who wish to implement these patterns in non aspect-oriented languages.
منابع مشابه
On Aspect-Oriented Technology and Object-Oriented Design Patterns
More and more works are done on design patterns and aspect-oriented programming. These works mainly propose to use aspect-oriented programming mechanisms to provide new implementations of objectoriented design patterns. This paper illustrates our own approach by presenting an aspect-oriented implementation of the GoF Strategy pattern, and claims implementation is not sufficient: aspect-orientat...
متن کاملA pattern system for aspect-oriented design
Aspect orientation can be used to evolve and improve objectoriented design patterns. However, the newly proposed patterns are generally specific to a particular aspect-oriented programming language (such as AspectJ, Hyper/J, etc). In order to mitigate this limit, we proposed a general aspect-oriented design modeling language that we used to express the aspect-oriented structures of all the GoF ...
متن کاملSoftware Engineering Paradigm Independent Design Problems, GoF 23 Design Patterns, and Aspect Design
The aim of the paper is to investigate applicability of object-oriented software design patterns in the context of aspect-oriented design. The paper analyses which of the GoF 23 patterns have a meaning in this context and how they are affected by it. The main assumption is that there exist design patterns that solve software engineering paradigm independent design problems and that such pattern...
متن کاملA Meta-model for Specifying Aspect-oriented Design Patterns
Several recent works propose approaches that combine design patterns and aspect-orientation. They mainly propose to use aspect-oriented mechanisms to provide new language-specific implementations for object-oriented design patterns, improving their modularisation and reusability. The newly proposed solutions, however, remain manually applied, and the lack of their traceability from the design t...
متن کاملDesign Patterns with Aspects: A case study
This paper reports on a case study in which four programs were implemented in both aspect-oriented and object-oriented versions using four different design patterns. We report on our experiences with the use of these design patterns and the trade-offs that needed to be considered. Furthermore, we present additional evidence for a reduction of coupling through the use of aspect-oriented versions...
متن کامل